import Vue from 'vue'
import Vuex from 'vuex'
import { setItem, getItem, remove } from '@/utils/ls'
Vue.use(Vuex)

export default new Vuex.Store({
  // 存储token
  state: {
    userInfo: getItem('heimauser') || {}, // 用户信息
    // 如果能取到getItem里的token就用本地的，如果没有就用vuex的
    tokenInfo: getItem('hmtt-token') || {} // token和refreshtoken都是有用的，所以这里存的是一个对象
  },
  mutations: {
    // 声明一个mutation专门用来操作token信息
    setToken (state, payload) {
      state.tokenInfo = payload
      // token存入ls本地
      setItem('hmtt-token', payload)
    },
    clearToken (state) {
      state.tokenInfo = {}
      remove('hmtt-token')
    },
    // 储存用户信息
    setUser (state, payload) {
      state.userInfo = payload
      // 将用户信息存入到本地
      setItem('heimauser', payload)
    }
  },
  actions: {
  },
  modules: {
  }
})
